home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 February / Macworld (1999-02).dmg / Cinema 4D GO demo / Plugin / Editor / DPI.cof next >
Text File  |  1998-03-16  |  1KB  |  53 lines

  1.  
  2. struct Mem
  3. {
  4.     var p_x,p_y;
  5.     var dpi;
  6. };
  7.  
  8. var mem;
  9.  
  10. Function(doc)
  11. {
  12.     var resx,resy;
  13.     var dlg = new (SimpleDialog);
  14.  
  15.     dlg->SetTitle("DPI Conversion");
  16.  
  17.     dlg->SetData(0,"Paper X (in)" ,FIELD_FLOAT  ,0.0,1E6,mem->p_x);
  18.     dlg->SetData(1,"Paper Y (in)" ,FIELD_FLOAT  ,0.0,1E6,mem->p_y);
  19.     dlg->SetData(2,"DPI"          ,FIELD_INTEGER,1,10000,mem->dpi);
  20.  
  21.     if (!dlg->DoDialog()) return;
  22.  
  23.     mem->p_x = dlg->GetData(0);
  24.     mem->p_y = dlg->GetData(1);
  25.     mem->dpi = dlg->GetData(2);
  26.  
  27.     resx = mem->p_x*mem->dpi;
  28.     resy = mem->p_y*mem->dpi;
  29.  
  30.     if (resx>16384) resx = 16384.0;
  31.     if (resy>16384) resy = 16384.0;
  32.  
  33.     if (resx*resy>800*600*10)
  34.     {
  35.         var text=new(string,255);
  36.  
  37.         text = stradd("Warning ",tostring(resx,".0f"),"x",tostring(resy,".0f")," is|",tostring(resx*resy/480000,".1f")," times slower|than 800x600|Do you want to continue?");
  38.  
  39.         if (TextDialog(text,DLG_OKCANCEL+DLG_ICONQUESTION)!=DLG_R_OK) return;
  40.     }
  41.     doc->SetRenderOutput(resx,resy,1.333333,1.0,0,0,25);
  42. }
  43.  
  44. main()
  45. {
  46.     mem = new(Mem);
  47.  
  48.     mem->p_x = 11;
  49.     mem->p_y = 8.5;
  50.     mem->dpi = 72;
  51.  
  52.     RegisterMenuHook("DPI Conversion","Function");
  53. }